<template>
	<view class="page-news-list">
		<view class="create-icon" @click="createNews">
			发帖
		</view>
		<view class="header-category">
			<view class="category-title">
				分类:
			</view>
			<view v-for="(item, s) in arealist" :key="s" class="category-list">
				<view class="info-item color-blue" :data-cat_id="item.id" @click="getCat">
					{{item.category_name}}
				</view>
			</view>
		</view>
		<view v-for="(item, i) in addresslist" :key="i" class="news-list">
			<view class="news-item">
				<view class="news-content">
					{{item.category_content}}
				</view>
				<view class="news-info-block">
					<!-- <view class="info-item">
						分类
					</view> -->
					<view class="info-item" v-if="(item.message_keywords)">
						{{item.message_keywords}}
					</view>
					<view class="info-item" v-if="(item.message_area_name)">
						{{item.message_area_name}}
					</view>
				</view>
				<view class="address-info">
					{{item.message_full_area}}
				</view>
				<view class="address-info">
					{{item.message_username}}：{{item.message_mobile}}
				</view>
				<view class="news-info-block">
					<view class="img-item" v-for="(img, t) in item.images" :key="t">
						<image :src="img"></image>
					</view>
				</view>
			</view>
		</view>
	</view>
</template>


<script>
	import {
		mapState,
		mapMutations
	} from 'vuex'


	export default {
		data() {
			return {
				options: {},
				addresslist: [],
				arealist: [],
				isdata: false,
				spid: "",
				cat_id: 0,
				ud_id: 0
			}
		},
		computed: mapState(['Config', 'StateCode', 'notice', 'plantformInfo', 'shopInfo', 'userInfo', 'hasLogin']),
		onLoad: function(options) {
			uni.setNavigationBarTitle({
				title: this.__('信息列表')
			});

			this.setData({
				ud_id: options.ud_id || 0,
				spid: options.spid || "",
				options: options,
				isdata: false
			});

			var that = this;
			this.GetAddressList();

			that.notice.addNotification("RefreshAddress", that.RefreshMethod, that);
		},
		onShow: function() {},
		onUnload: function() {
			// 离开页面，注销事件
			var that = this
			this.notice.removeNotification("RefreshAddress", that);
		},
		/**
		 * 页面相关事件处理函数--监听用户下拉动作
		 */
		onPullDownRefresh: function() {
			this.GetAddressList();
		},
		methods: {
			...mapMutations(['login', 'logout', 'getPlantformInfo', 'forceUserInfo', 'getUserInfo']),
			RefreshMethod: function() {
				console.info('.........RefreshMethod');
				this.GetAddressList()
			},
			getCat: function(e) {
				this.setData({
					cat_id: e.target.dataset.cat_id
				}), this.GetAddressList()
			},
			GetAddressList: function() {
				var that = this;
				var params = {
					message_area: that.cat_id
				};

				that.setData({
					isdata: false,
					addresslist: [],
					arealist: []
				});

				that.$.request({
					url: that.Config.URL.user.serviceMessage,
					data: params,
					success: function(data, status, msg, code) {
						if (200 == status) {
							if (data.items.length > 0) {

								//that.addresslist = data.items;

								that.setData({
									isdata: true,
									addresslist: data.items,
									arealist: data.area
								});
								console.log(data.area);
							} else {
								that.setData({
									isdata: false
								});
							}
						}

						uni.stopPullDownRefresh()
					}
				});
			},
			EditAddress: function(obj) {
				var that = this;
				var options = this.options;
				options.ud_id = obj.currentTarget.dataset.ud_id;

				if (that.ud_id != 0) {
					that.$.redirectTo({
						url: that.$.createUrl("/member/address/manage", options)
					});
				} else {
					that.$.navigateTo({
						url: that.$.createUrl("/member/address/manage", options)
					});
				}
			},
			createNews() {
				this.$.gotopage('/pagesub/info/edit')
			}
		}
	};
</script>

<style lang="scss" scoped>
	.news-list {
		padding: 10px;
	}

	.news-item {
		background: #fff;
		padding: 10px;
		border-radius: 10px;
		margin-bottom: 10px;
	}

	.news-content {
		font-size: 14px;
		color: #212121;
		margin-bottom: 5px;
	}

	.news-info-block {
		display: flex;
		flex-wrap: wrap;
	}

	.info-item {
		font-size: 12px;
		margin: 0 5px;
		background: rgba(0, 0, 0, .3);
		border-radius: 3px;
		padding: 0 5px;
		display: flex;
		align-items: center;
		justify-content: center;
		color: #ffffff;
		margin-bottom: 5px;

		&.color-blue {
			background: #275688;
		}
	}

	.address-info {
		margin: 5px 0;
		font-size: 12px;
	}

	.img-item {
		width: 33%;
		display: flex;
		justify-content: center;
		margin-bottom: 10px;

		image {
			width: 100px;
			height: 100px;
		}
	}

	.header-category {
		padding: 10px;
		display: flex;
		align-items: flex-start;
		background: #fff;
	}

	.category-title {
		flex-shrink: 0;
		font-size: 12px;
		margin-right: 5px;
	}

	.category-list {
		display: flex;
	}

	.create-icon {
		position: fixed;
		bottom: 10%;
		right: 20px;
		width: 50px;
		height: 50px;
		border-radius: 50%;
		display: flex;
		align-items: center;
		justify-content: center;
		color: #fff;
		background-color: rgba(0, 0, 0, .4);
		font-size: 14px;
		z-index: 10;
	}
</style>